Integrated Services Digital Network (ISDN) systems provide a possible means of accomplishing voice over Internet Protocol (IP), partly because ISDN calls use a protocol stack which can interface with packet switched networks. ISDN systems use two types of channels, B-channels and D-channels. B-channels carry traffic encapsulated at Layer Two of the Open Systems Interconnect (OSI) protocol stack, and can be carried over packet switched networks or circuit switched networks. D-channels carry signalling information used for instructing a carrier to set up or terminate a B-channel call, amongst other administrative functions, and are carried over packet switched networks. A D-channel carries information at both Layer Three and Layer Two of the OSI protocol stack. Layer Three is responsible for call control, and a protocol called Q.931 is commonly used to convey call control messages. Q.931 messages are encapsulated using a Layer Two protocol called Q.921, and the Q.921 messages are transmitted between network elements.
To interface an ISDN network and an IP network, an ISDN endpoint, such as a Private Branch Exchange (PBX), is linked to a Signalling Gateway (SG) and a Media Gateway (MG) (which may be part of the same apparatus) through an ISDN interface. The SG and MG are in turn linked to the IP based network. The ISDN interface provides a D-channel for carrying signalling information and at least one B-channel for carrying data. For example, if the ISDN endpoint is a PBX offering a Primary Rate Interface to a number of users within a private branch office, then the ISDN interface between the PBX and the SG/MG is a T1 link with 23 B-channels and 1 D-channel (in North America or Japan) or an E1 link with 30 B-channels and 1 D-channel (in Europe). The MG is responsible for providing the B-channels with access to the IP based network, and the SG is responsible for providing the D-channel with access to the IP based network. A Media Gateway Controller (MGC) (sometimes also referred to as a Signalling Gateway Controller) is also linked to the IP based network. The MGC runs at least one Application Server Process (ASP). When a caller on the ISDN network wishes to establish a connection through the IP based network to a called device, the caller enters a dialled number. The SG asks an ASP on the MGC to establish a connection to the called device. The ASP determines an IP address and a port number of the called device based on the dialled number, and signals these to the MG, which begins transmitting the call into the IP based network. The exchange of messages between the SG and the ASP and between the ASP and the MG is referred to as call control messaging. The ASP also signals an MG to which the called device is connected to alert it that a connection is being established from the originating MG.
Unfortunately for the call control messaging, the Q.921 messages transmitted within ISDN networks are not recognized by IP based networks. In order to interface an ISDN network with an IP based network, an SG which receives a Q.921 message from the ISDN network must extract the enclosed Q.931 message and encapsulate it into a message format recognizable by a transport layer protocol of the IP based network for transmission through the IP based network. The transport of a Q.931 message within an IP transport layer message is called backhauling. The Integrated Services Digital Network (ISDN) User Adaptation Layer (IUA) (described in “ISDN Q.921-User Adaptation Layer”, version 8, IETF Work in Progress, November 2000, and incorporated by reference herein) proposes a mechanism for ISDN backhaul over IP. An SG which receives a Q.921 message terminates the Q.921 message, in that it is at this level of encapsulation that the SG processes and retransmits the ISDN message. The IUA proposes using the Stream Control Transmission Protocol (SCTP), described in “Stream Control Transmission Protocol”, IETF RFC 2960, October 2000, as the IP transport layer protocol in which Q.931 messages are encapsulated. However, SCTP is not yet clearly defined, and as a new protocol will most likely not be as reliable as more established transport layer protocols such as the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP). Unfortunately, even these established protocols have their shortcomings. TCP provides very reliable delivery of messages, but is not efficient at detecting loss of connectivity. This can lead to the MGC and the PBX becoming unsynchronized with respect to which transmission resources are available. UDP is efficient at detecting loss of connectivity, but does not provide reliable delivery of messages.